@tailwind base;
@tailwind components;
@tailwind utilities;

@layer base {
	:root {
		--font-geist-sans: "geist-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
			Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";

		--background: 0 0% 100%;
		--foreground: 240 10% 3.9%;
		--card: 0 0% 100%;
		--card-foreground: 240 10% 3.9%;
		--popover: 0 0% 100%;
		--popover-foreground: 240 10% 3.9%;
		--primary: 240 5.9% 10%;
		--primary-foreground: 0 0% 98%;
		--secondary: 240 4.8% 95.9%;
		--secondary-foreground: 240 5.9% 10%;
		--muted: 240 4.8% 95.9%;
		--muted-foreground: 240 3.8% 46.1%;
		--accent: 240 4.8% 95.9%;
		--accent-foreground: 240 5.9% 10%;
		--destructive: 0 72.22% 50.59%;
		--destructive-foreground: 0 0% 98%;
		--border: 240 5.9% 90%;
		--input: 240 5.9% 90%;
		--ring: 240 5% 64.9%;
		--radius: 0.5rem;

    --sidebar-background: 0 0% 98%;
    --sidebar-foreground: 240 5.3% 26.1%;
    --sidebar-primary: 240 5.9% 10%;
    --sidebar-primary-foreground: 0 0% 98%;
    --sidebar-accent: 240 4.8% 95.9%;
    --sidebar-accent-foreground: 240 5.9% 10%;
    --sidebar-border: 220 13% 91%;
    --sidebar-ring: 217.2 91.2% 59.8%;


		--vis-primary-color: var(--primary);
    --vis-secondary-color: 160 81% 40%;
    --vis-text-color: var(--muted-foreground);


		--vis-font-family: inherit !important;
		--vis-area-stroke-width: 2px !important;
		--vis-donut-central-label-text-color: hsl(var(--muted-foreground)) !important;
		--vis-tooltip-background-color: none !important;
    --vis-tooltip-border-color: none !important;
    --vis-tooltip-text-color: none !important;
    --vis-tooltip-shadow-color: none !important;
    --vis-tooltip-backdrop-filter: none !important;
    --vis-tooltip-padding: none !important;
  }

  .dark {
    --background: 240 10% 3.9%;
    --foreground: 0 0% 98%;
    --card: 240 10% 3.9%;
    --card-foreground: 0 0% 98%;
    --popover: 240 10% 3.9%;
    --popover-foreground: 0 0% 98%;
    --primary: 0 0% 98%;
    --primary-foreground: 240 5.9% 10%;
    --secondary: 240 3.7% 15.9%;
    --secondary-foreground: 0 0% 98%;
    --muted: 240 3.7% 15.9%;
    --muted-foreground: 240 5% 64.9%;
    --accent: 240 3.7% 15.9%;
    --accent-foreground: 0 0% 98%;
    --destructive: 0 62.8% 30.6%;
    --destructive-foreground: 0 85.7% 97.3%;
    --border: 240 3.7% 15.9%;
    --input: 240 3.7% 15.9%;
    --ring: 240 4.9% 83.9%;

    --sidebar-background: 240 5.9% 10%;
    --sidebar-foreground: 240 4.8% 95.9%;
    --sidebar-primary: 224.3 76.3% 48%;
    --sidebar-primary-foreground: 0 0% 100%;
    --sidebar-accent: 240 3.7% 15.9%;
    --sidebar-accent-foreground: 240 4.8% 95.9%;
    --sidebar-border: 240 3.7% 15.9%;
    --sidebar-ring: 217.2 91.2% 59.8%;
  }


	* {
		@apply border-border;
    scrollbar-width: thin;
    scrollbar-color: hsl(var(--border)) transparent;
	}
	html {
		-webkit-text-size-adjust: 100%;
		font-variation-settings: normal;
	}
	body {
		@apply bg-background text-foreground min-h-screen antialiased font-sans;
		/* font-feature-settings: "rlig" 1, "calt" 1; */
		font-synthesis-weight: none;
    text-rendering: optimizeLegibility;
	}

	/* Mobile tap highlight */
	/* https://developer.mozilla.org/en-US/docs/Web/CSS/-webkit-tap-highlight-color */
	html {
		-webkit-tap-highlight-color: rgba(128, 128, 128, 0.5);
	}

	/* Font face Geist font */

	@font-face {
		font-family: "geist-sans";
		font-style: normal;
		font-weight: 100 900;
		font-display: swap;
		src: url("/fonts/Geist/GeistVariableVF.woff2") format("woff2");
	}


	/* Firefox */
	/* https://developer.mozilla.org/en-US/docs/Web/CSS/scrollbar-color#browser_compatibility */
	html {
		scrollbar-color: hsl(215.4 16.3% 46.9% / 0.3);
	}

	html.dark {
		scrollbar-color: hsl(215.4 16.3% 56.9% / 0.3);
	}

  html.dark .shiki,
  html.dark .shiki span {
    color: var(--shiki-dark);
  }
  html:not(.dark) .shiki,
  html:not(.dark) .shiki span {
    color: var(--shiki-light);
  }

	.antialised {
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
	}

}


@layer utilities {
	.step {
		counter-increment: step;
	}

	.step:before {
		@apply absolute w-9 h-9 bg-muted rounded-full font-mono font-medium text-center text-base inline-flex items-center justify-center -indent-px border-4 border-background;
		@apply -ml-[50px] -mt-1;
		content: counter(step);
	}
}

@media (max-width: 640px) {
	.container {
		@apply px-4;
	}
}

div[class^="language-"] {
	@apply mb-4 mt-6 max-h-[650px] overflow-x-auto md:rounded-lg border
}
pre {
	@apply py-4;
}

pre code {
	@apply relative font-mono text-sm ;
}

.line-numbers-wrapper, code {
	--vp-code-line-height: 1.7;
}

.line-numbers-wrapper {
	@apply font-mono;
}

pre code .line {
	@apply px-4 min-h-4 !py-0.5 w-full inline-block leading-[--vp-code-line-height];
}

.line-number {
	@apply !text-[.75rem] !inline-block text-muted-foreground leading-[--vp-code-line-height];
}

::view-transition-old(root),
::view-transition-new(root) {
  animation-duration: 0.3s;
}
